package com.system.boot.rbac.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.system.api.rbac.entity.po.SysMenu;
import com.system.api.rbac.entity.po.SysPermission;
import com.system.api.rbac.entity.po.SysRoleMenuRelation;
import com.system.api.rbac.entity.po.SysRolePermissionRelation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  
 * @author: lslands
 * @description:   
 * @version：v1.0
 * @date:    2024/6/24 23:05
 */
@Mapper
public interface RolePermissionRelationMapper extends BaseMapper<SysRolePermissionRelation> {

    /**
     * 模糊查询权限
     * @param record 权限模糊查询条件
     * @param roles 角色集合
     * @return 权限分页列表
     */
    List<SysPermission> selectPageByRoles(@Param("record") SysPermission record, @Param("roles") List<String> roles);

    /**
     * 根据角色编码查询权限Id集
     * @param roleId 角色ID
     * @return 权限ID集
     */
    List<Long> selectPermsByRole(@Param("roleId") Long roleId);

    /**
     * 根据权限ID批量删除(逻辑)
     * @param permIds 权限Id集
     * @param updatedBy 操作人
     * @return 成功/失败
     */
    boolean deletePermIdsByBatch(@Param("permIds") List<Long> permIds,@Param("updatedBy") String updatedBy);
}
